package com.diego.sistema.proveedor;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;

import java.util.List;


@ManagedBean(name="proveedorBean")
@RequestScoped
public class ProveedorBean {

	private Proveedor proveedorSeleccionado = new Proveedor();
	private List<Proveedor> lista = null;
	
	public void guardar() {
		ProveedorRN proveedorRN = new ProveedorRN();
		if(this.proveedorSeleccionado.getId() !=null && this.proveedorSeleccionado.getId() != 0) {
			proveedorRN.alterar(this.proveedorSeleccionado);
			nuevo(); //yo agregue
		}
		else {
			proveedorRN.guardar(proveedorSeleccionado);
			FacesMessage faces = new FacesMessage("Proveedor guardado con exito!");
			FacesContext contexto = FacesContext.getCurrentInstance();
			contexto.addMessage(null, faces);
			this.proveedorSeleccionado = new Proveedor();//yo agregue
		}
		this.lista = null;
	}
	
	public Proveedor getProveedorSeleccionado() {
		return proveedorSeleccionado;
	}
	
	public void setProveedorSeleccionado(Proveedor proveedorSeleccionado) {
		this.proveedorSeleccionado = proveedorSeleccionado;
	}
	
	public List<Proveedor> getLista() {
		ProveedorRN proveedorRN = new ProveedorRN();
		if(lista == null) {
			lista = proveedorRN.listar();
		}
		return lista;
	}
	
	public void eliminar() {
		ProveedorRN proveedorRN = new ProveedorRN();
		proveedorRN.eliminar(proveedorSeleccionado);
		this.lista = null;
		nuevo();//yo agregue
	}
	
	public void nuevo() {
		this.proveedorSeleccionado = new Proveedor();
	}
	
}
